package model.compresion.LZP;

import java.util.ArrayList;
import java.util.Iterator;

import model.registro.RegistroPosicionFrecuencia;

public class ListaFrecuencias implements Iterable {
	private ArrayList<RegistroPosicionFrecuencia> lista;
	
	public ListaFrecuencias(){
		lista = new ArrayList<RegistroPosicionFrecuencia>();
	}

	public ArrayList<RegistroPosicionFrecuencia> getLista() {
		return lista;
	}

	public void setLista(ArrayList<RegistroPosicionFrecuencia> lista) {
		this.lista = lista;
	}
	
	public void aumentarFrecuencia(int posicion){
		boolean existe = false;
		for (Iterator iterator = lista.iterator(); iterator.hasNext();) {
			RegistroPosicionFrecuencia registro = (RegistroPosicionFrecuencia) iterator.next();
			if (registro.getPosicion()==posicion){
				registro.aumentarFrecuencia();
				existe = true;
			}
		}
		if (!existe){
			RegistroPosicionFrecuencia regAux = new RegistroPosicionFrecuencia();
			regAux.setPosicion(posicion);
			regAux.aumentarFrecuencia();
			lista.add(regAux);
		}
	}

	public Iterator<RegistroPosicionFrecuencia> iterator() {
		return this.lista.iterator();
	}
	
}
